package com.alks.function.service;

import com.alks.entity.data.entity.*;
import com.alks.entity.data.response.ResponseInfo;
import com.alks.function.data.request.prod.ProdDynamicDetailRequest;
import com.alks.function.data.request.prod.ProdDynamicRequest;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface PcProdDynamicService extends IService<ProdDynamicHeadRep> {
    ResponseInfo listPcDynamicCondition();

    ResponseInfo getPcProdDynamicList(ProdDynamicRequest request);

    ResponseInfo getProdDynamicDetail(ProdDynamicDetailRequest request);

    ResponseInfo getPreOrderList(PcProdPreReq req);

    ResponseInfo updateRecoverLot(PcLotRecoverReq req);

    ResponseInfo getPcScheduleList(String lotNo, String shoeName,Integer pageNum,Integer pageSize);

    ResponseInfo updateScheduleDetail();

    ResponseInfo computeProdDate(String order);

    ResponseInfo upDown(String upDown, List<PcScheduleRep1> req);

    ResponseInfo batchMove(BatchMoveReq req);

    ResponseInfo arrangePlanList(PcProdArrangeReq req);

    ResponseInfo choosePlanList(PcProdArrangeReq req);

    ResponseInfo chooseProdStatusIn(List<String> list, String choose);

    ResponseInfo updatePcOrderPlan(MtlDPlanArrangeRep req, String choose);

    ResponseInfo removePcOrderPlan(MtlDPlanArrangeRep req, String choose);

    ResponseInfo cutProdStatusList(String date, String choose,Integer pageNum,Integer pageSize);

    ResponseInfo updateProdStatus(PcCutProdStatusRep req, String choose);

    ResponseInfo devPartDayPlanList(PcDevPartDayPlanReq req);

    ResponseInfo radPartDayPlan(MtlDPlanArrangeRep req, String choose);

    ResponseInfo getLine();

    void downloadExcelPlan(PcProdArrangeReq req, HttpServletResponse response) throws IOException;

    void downloadDayPlanList(HttpServletResponse response, PcDevPartDayPlanReq req) throws IOException;

    ResponseInfo uploadPcOrderShoePlan(MultipartFile file) throws IOException;

    ResponseInfo updatePcScheduleLot();

    void downloadPcOrderSch(HttpServletResponse response) throws IOException;

    ResponseInfo getLine1();

    ResponseInfo updatePcLine1(Map<String, Object> map);
}
